08. 在面向对象代码中添加注释

添加注释

注意到上道练习的答案有什么特殊之处了吗?Pants 类和 SalesPerson 类包含文档字符串!文档字符串是一种注释,描述了 Python 模块、函数、类或方法的原理。是的,我们可以使用文档字符串向代码中添加注释。注释有助于你理解和维护代码。

从现在开始,请练习添加代码注释。你可以根据需要使用内嵌注释和文档注释。

要详细了解文档字符串,请访问此 链接

文档字符串

下面是一个具有文档字符串的类示例,你需要注意以下几点:

  • 文档字符串需要在其所描述的类或者方法下的首行,然后缩进一个单位(建议为4个空格),否则代码无法运行。
  • 你不需要在方法文档字符串里定义 'self'。任何方法的第一个方法输入默认是 self。
class Pants:
    """The Pants class represents an article of clothing sold in a store
    """

    def __init__(self, color, waist_size, length, price):
        """Method for initializing a Pants object

        Args: 
            color (str)
            waist_size (int)
            length (int)
            price (float)

        Attributes:
            color (str): color of a pants object
            waist_size (str): waist size of a pants object
            length (str): length of a pants object
            price (float): price of a pants object
        """

        self.color = color
        self.waist_size = waist_size
        self.length = length
        self.price = price

    def change_price(self, new_price):
        """The change_price method changes the price attribute of a pants object

        Args: 
            new_price (float): the new price of the pants object

        Returns: None

        """
        self.price = new_price

    def discount(self, percentage):
        """The discount method outputs a discounted price of a pants object

        Args:
            percentage (float): a decimal representing the amount to discount

        Returns:
            float: the discounted price
        """
        return self.price * (1 - percentage)